package com.geek.javase.wcy03.relation.Game;

/**
 * @author wangchaoyang
 * @desc TODO
 * @date 2025/9/3
 */
public class Monster extends Role{

    /**
     * 怪兽拥有基本攻击方法
     * @param role  英雄
     */
    @Override
    public void attack(Role role){
        //计算本回合的英雄失血量 = 怪兽的攻击力 - 英雄的防御力
        int blood = this.getPower() - role.getDefence();
        if(blood>0){
            //计算英雄的失血量
            role.setBlood(role.getBlood() - blood);
            System.out.println("本回合英雄失血量为："+blood +" , 剩余血量："+role.getBlood());
        }else{
            System.out.println("本回合攻击无效");
        }
    }

    /**
     * 获取角色信息的方法
     */
    public void show(){
        System.out.println("怪兽的名称："+this.getName());
        System.out.println("怪兽的等级："+this.getLevel());
        System.out.println("怪兽的血量："+this.getBlood());
        System.out.println("怪兽的种类："+this.getKind());
        System.out.println("怪兽的攻击力："+getPower());
        System.out.println("怪兽的防御力："+getDefence());
    }

    public Monster() {
    }

    public Monster(String name, int level, int blood, String kind, int power, int defence) {
        super(name, level, blood, kind, power, defence);
    }

    @Override
    public String toString() {
        return "Monster{} " + super.toString();
    }
}

